1. Field of the Invention
The present invention is directed to a system for creating commands that increase the speed of system response. The invention can be applied to virtually any type of machine, process, or entity that can be modeled linearly. In particular, the invention deals with the creation of command profiles that are time-optimal, meaning commands that will move a system from one rest state to another rest state in the shortest amount of time. To this end, the invention provides a three-step procedure for generating time-optimal command profiles for all types of linear single-input, single-output systems. Constraint equations that result from this approach are both notationally and computationally simple. Consequently, the invention delivers results for complex systems faster and more reliably than traditional approaches. The invention furthermore incorporates additional practical constraints into its solution framework, thereby producing different types of time-efficient commands which satisfy a range of system performance requirements.
2. Description of the Related Art
With every passing year, the modern world demands that things change faster than they did before. In machines, processes, and attitudes, success is often defined by the speed with which these transitions can be made. In the information storage industry, for example, the speed of change is the primary performance metric than can make or break a product. In every computer disk drive or compact disk player, data storage and retrieval is performed by a read-write head that must scan rapidly from one disk track to another. The speed at which this read-write head can reposition itself between tracks is directly related to the speed of information access and the overall performance of the product. As another example of the importance of rapid change, the modern manufacturing environment contains many types of automated machines that are used for precision positioning, assembly, and inspection operations. The performance of these machines is measured largely by their ability to produce rapid and precise motions. Companies typically focus considerable attention toward improving the speed of these machines in order to maximize the throughput of the entire plant.
As with disk drives and manufacturing systems, it is not difficult to think of examples of automated machines that could benefit by an enhanced speed of operation. Furthermore, this rationale can be extended beyond mechanical hardware to many other kinds of systems. The pilot of a fighter jet, for example, would probably be very interested in the fastest way to change altitude if trying to avoid an oncoming missile. One could also imagine a stock broker working with a complicated financial model wondering how to quickly maximize profits by varying his investment portfolio. Alternately, the operators of a hydroelectric power plant might wish to increase the plant""s power output as fast as possible to meet a sudden increase in demand. In all of these cases, as well as countless others, a knowledge of how to change things quickly would prove highly valuable.
Understanding how to move things faster can go a long way toward enhancing the performance of many systems. In some situations, however, this is not enough. Imagine a manufacturing robot moving so quickly that it tears itself from the factory floor. Or, how about a weather satellite that can scan the atmosphere with blazing speed but, in the process, exhausts its supply of fuel. One can imagine that the chairman of the Federal Reserve has more on his mind when adjusting interest rates than reducing inflation as rapidly as possible. Since he knows that his economic models are not perfect, he opts for a prudent schedule of interest rate adjustment in order to reliably and gradually improve economic indicators. In most applications, resting alongside the need for speed is such a set of practical issues that must also be addressed.
The modern world demands indeed that many systems change in a rapid and desirable manner. The question that still remains, however, is how to effect this change. As varied as the performance demands from system to system, so are the strategies for meeting these demands. A disk drive designer, for example, might choose to use a lighter material or a different type of actuator to reduce the access time of his drive. As an alternate approach, he might also decide to outfit his machine with sensors and develop a high-performance control system to meet more stringent performance specifications. These two strategies, hardware redesign and enhanced feedback control, are both viable methods for improving system performance. Many systems, however, do not tolerate these types of changes. An engineer at a hydroelectric plant, for example, would be foolhardy to consider building a new dam to better control the power output. Similarly, commissioning the Space Shuttle to install new sensors on an operating weather satellite might also prove equally absurd. In situations like these, engineers must focus their effort on improving performance by working with the system at hand. Even for systems that can be improved through hardware redesign and feedback control, the designer must then work with the improved system to further maximize performance.
The question, then, that remains is how to control the inputs to a given system to achieve a desired behavior at the system""s output. For example, how can a crane operator best position a joystick to maneuver a cargo crate from a transport ship to a train platform as quickly as possible? What kind of torque profile should a designer specify in a disk drive actuator to most efficiently move the read-write head of the drive from track to track? How should the Fed vary the interest rate to quickly and reliably control inflation? The answer to each of these questions depends on many different factors. Understanding these factors and how they influence performance is the key to understanding how to answer these questions.
1 The Feedforward Control Problem
The problem facing designers who wish to improve the performance of their systems, which can be called xe2x80x9cthe feedforward control problemxe2x80x9d, addresses the question of how to select the input command for a given system that produces the most desirable output response. As illustrated in FIG. 1, the feedforward control problem can be stated as follows:
Given a known system, what is the input command that will move the output of the system from one state to another in the most desirable manner?
When stated in this form, it can be reasoned that the answer to this question will depend on four different factors. These four factors are as follows.
1. The first factor which influences the profile of the input is the nature of the change in the system output. For example, the actuator command that will best move a scanning sensor on a weather satellite over a ninety degree slew will probably have little resemblance to the command required to complete a three degree slew.
2. The second factor which influences the system response to an input command is the dynamic behavior of the system. In manufacturing systems, for example, this becomes apparent as machines are designed to be lighter and faster. As an unfortunate side-effect of these performance enhancements, undesirable machine dynamics often become the primary barrier to further performance improvements. For example, in many high-performance assembly systems, the speed with which a machine can operate is dictated not by the time required to execute positioning maneuvers, but rather by the time required for unwanted vibrations to settle. Consequently, the best input command profile for a given high-performance system should not ignore the dynamics of the system.
3. The third factor that should be considered when answering the foregoing question is the allowable level of the system inputs. One straightforward way to improve the speed of response in a manufacturing robot, for example, is to employ powerful actuators. However, due to design limitations, actuator capacity must often be restricted. As a result, motion commands used for these systems should be designed to remain within the actuator capability. Given this constraint, it can be reasoned that the command profiles that deliver the best system performance should account for the limitations of the system inputs.
4. The fourth factor that should be considered is system performance variables. In this regard, in addition to accounting for desired output behavior, system dynamics, and input limitations, many systems may be sensitive to other performance variables. For example, for systems that have shifting or uncertain dynamics, the performance delivered by input commands must remain robust to these changes. Other systems may have additional requirements such as limitations on internal loading or energy efficiency. Any useful strategy for creating command profiles should effectively address these practical concerns.
Although the feedforward control problem, as posed above, is still fairly broad, it has helped to identify four issues that influence its solution. Any strategy designed to address the stated problem should address these four issues. As one way of looking at the task at hand, FIG. 2 illustrates that the problem is to determine a strategy for using information about (1) the desired system output response, (2) the system dynamics, (3) the limitations on the system inputs, and (4) any additional constraints in order to derive the best input command for a given system. Before this strategy can be formulated, however, the problem statement must be further clarified in order to define system behavior and performance in more concrete terms.
The feedforward control problem, as noted above, is a general statement that outlines the basic issues associated with selecting an input command profile for a given system. This problem statement, however, is far too general to lend insight into a solution approach. To further clarify the problem, the following assumptions will be made to limit the scope of the solution approach to more manageable levels.
First, it will be assumed that the system under consideration can be modeled linearly. Although ignoring a certain class of systems that cannot be described by linear representations, this assumption allows all the tools of linear system theory to be enlisted to help solve this problem. Note that, as long as the input-output behavior of a given system can be modeled linearly, solutions can be applied to both open-loop and closed-loop systems. Second, it will be assumed that all systems under consideration are single-input, single-output (SISO). However, it is noted that the invention described herein can also be used with multiple-input, multiple-output (MIMO) systems. Third, it will be assumed that the goal of the problem is to transition the system output rapidly from one rest state to another rest state. With these three basic assumptions, the feedforward control problem has been reduced to one of more manageable complexity. Labeled xe2x80x9cthe time-efficient control problem,xe2x80x9d this reduced problem is illustrated in FIG. 3 and can be stated as follows.
For a given SISO linear system, G(s), find the input command, u(t), that will move the system output, y(t), from one rest state to another in the shortest possible time subject to constraints such as: (1) actuator limits, (2) robustness to system uncertainty, (3) fuel usage requirements, etc.
As will be discussed later herein, this time-efficient problem formulation lends itself to a particular class of command solutions. These types of solutions can all produce a rapid state change at the system output while satisfying a variety of additional constraints. If time is the only performance variable of interest in a system, this problem can be reduced even further by eliminating all unnecessary constraints. Known widely as xe2x80x9cthe time-optimal control problem,xe2x80x9d this most fundamental form of the feedforward control problem is illustrated in FIG. 4 and can be stated as follows:
For a given SISO linear system, G(s), find the input command, u(t), that will move the system output, y(t), from one rest state to another in the shortest possible time subject to the actuator constraints: umin less than u(t) less than umax.
Unlike the time-efficient control problem statement, the time-optimal control problem requires that only two conditions be met: (1) that the system output transition by an amount dy, and (2) that the input command remain within the actuator limits. These two problem specifications represent the minimum set of constraints required to ensure a nontrivial solution to this problem. Furthermore, any command that satisfies this problem defines the performance baseline for how fast a linear system can be moved from one state to another. Because of the fundamental importance of this problem statement, the time-optimal control problem has been the subject of investigation for over forty years.
2 The Time-Optimal Control Problem
With this long history of research, it is difficult to know where to begin to describe the state of the art. Accordingly, the discussion herein will move from the general to the specific. To this end, the discussion will begin with an overview of work in the design and control of flexible systems. A large area of research in itself, many of the recent advances in time-optimal and time-efficient control were spawned from investigations in new techniques for controlling flexible machines. From this point, the discussion will turn from feedback to feedforward control. Since this document is concerned primarily with generating input command profiles, section 2.2 surveys various techniques for deriving motion command profiles for different types of systems. Two specific command generation techniques, time-optimal control and input shaping, have relevance to the work in this document. Consequently sections 2.3 and 2.4 are devoted to outlining the basic theories and the state of the art for each of these techniques. From this background on input shaping and time-optimal control, section 2.5 focuses on identifying the strengths and similarities of these two approaches. Building on this comparison, the need for a general approach for deriving time-efficient and time-optimal commands becomes clear.
2.1 Design and Control of Flexible Systems
The first step in creating a high-performance machine or system is to design and construct the hardware. In approaching this task, design engineers typically face a variety of design tradeoffs that influence the construction of the hardware and the performance of the machine. For machines that operate in speed-critical environments, designers often try to maximize the speed of system response by making machine components powerful and lightweight. At the same time, in order to minimize problematic vibrations, designers must also look to make structural components rigid. Primarily due to space, weight, and power constraints, this is not always possible. One strategy for overcoming this design obstacle is to modify the mechanical structure by adding damping. With increased structural damping, vibrations settle quicker and are less likely to degrade machine performance. One of the simplest and oldest techniques for adding structural damping is to use a tuned vibration absorber [1]. Although this is an old idea, the technique has evolved into a sophisticated tool and many promising modifications to the method are continually being developed [2]. When design considerations do not allow for this kind of hardware augmentation, the design engineer must turn to feedback approaches to eliminate undesirable system dynamic behavior.
In the past fifteen years, research in the area of control of flexible systems has been abundant. Targeted primarily toward boosting the performance of flexible satellites and robots, this research has explored a wide spectrum of feedback control concepts. In his 1996 survey paper, [6], Wayne Book presents an overview of some of the work in this field. Junkins and Kim also provide a thorough treatment of this subject in their recently published textbook [4]. Although providing a detailed account of the work in this field is beyond the scope of this patent, some effective strategies for controlling flexible systems can be found in [5-12]. In all of these works, and in many others, closed-loop control strategies have been demonstrated to work effectively at preserving system performance in the face of unwanted vibration. From this result, it can be argued that a good control system is an essential component of a high-performance machine. However, in some systems, such as ones where sensor feedback is unavailable, high-performance control is not an option. In these cases, the designer must turn to feedforward methods for meeting performance requirements. Additionally, even in systems that employ effective controllers, feedforward techniques can commonly be used to gain an extra measure of performance.
2.2 Survey of Feedforward Control Methods
As Wayne Book notes in [3], xe2x80x9cour best hope to expand the envelope of feasible performance is a confluence of open- and closed-loop controls, design innovations, material improvements and sensor and actuator developments.xe2x80x9d As discussed herein above, researchers have taken this message to heart and work has been prolific in both the areas of hardware innovation and closed-loop control. What should not be overlooked, however, is the critical importance of open-loop, or feedforward control, techniques for enhancing machine performance. While closed-loop control techniques are used for minimizing error in the face of disturbances, they cannot always be optimized for the task at hand. In a factory robot, for example, the same pick-and-place task might be performed thousands of times every day. The feedback controller used by this robot, instead of being finely tuned to effectively accomplish the specific pick-and-place task, must likely be designed to meet such performance specifications as good stability robustness and disturbance rejection. In situations like these, the onus falls on a feedforward controller to specify the best command that will move the robot most effectively. From this rationale, the importance of an effective feedforward controller, working independently of or alongside a feedback controller, is clear. This section is devoted to presenting an overview of some of the research that has been performed in the area of feedforward control. Much of this research can be divided into four categories: (1) trajectory tracking, (2) command formulation using analytic functions, (3) optimal control command formulation, and (4) time-optimal and time-efficient command generation. The first three of these categories are concerned with deriving command profiles for applications that are not necessarily time-critical. The last category presents feedforward approaches catered to systems that need rapid response. In this realm of time-efficient approaches, two specific bodies of work, time-optimal control and input shaping, will be addressed in detail in later sections.
2.2.1 Deriving Commands for Trajectory Tracking
In automated equipment such as milling machines and pen plotters, the speed of the system response is secondary to path-following accuracy. For situations like these, feedforward control methods are targeted at generating motion paths that minimize machine tracking error. Perhaps the most common approach for achieving these performance specifications is to use inverse dynamics. Inverse dynamics refers to a technique for filtering input commands by the inverse of the system model so that the system output tracks a desired trajectory despite system flexibility. Recent research in this area has led to new approaches for achieving precise tracking in mechanical systems. Tomizuka [13, 14], for example, proposed a technique for generating causal command inputs to allow a system to follow a specified path. In this technique, guidelines were presented for dealing with uncancellable zeros in the system model without causing phase distortion in the shaped command. Tung [15] extended this theory by proposing a technique for improving accuracy by penalizing model error more heavily for lower frequencies. Asada [16, 17] successfully applied inverse dynamics to a flexible multiple-link robot and proposed an efficient computational scheme to generate the shaped trajectories. By using an inverse dynamics approach to construct shaped commands from a sum of sinusoids, Tu [18] also demonstrated that flexible systems could benefit from inverse dynamics feedforward control. Additional techniques for using feedforward control to enhance trajectory tracking performance can be found in [19-22].
2.2.2 Command Formulation Using Analytic Functions
Another approach for generating commands for systems is by using analytic functions with known frequency- and time-domain characteristics to construct commands with desirable properties. These techniques are often used, for example, to generate fixed-time-length commands with reduced energy at the problematic system modes. Some of the researchers in this area include Aspinwall [23], who proposed a technique for minimizing residual vibration in flexible systems by generating shaped commands using Fourier series. Wiederrich [23-26] used finite trigonometric series to generate high-speed cam profiles to avoid exciting machine vibration. Similarly, Swigert [27] outlined a method for minimizing modal vibration in a flexible satellite using shaped torque commands constructed from a finite trigonometric series. Adopting a similar shaped-function synthesis approach, Meckl [28-31] combined ramped-sinusoid functions to minimize residual vibration from point-to-point motion in flexible systems. Some additional techniques for constructing functions to yield desirable motion profiles can be found in [32-34].
2.2.3 Optimal Control Command Formulation
Building on the concepts and tools developed for optimal feedback control, several techniques have been presented for applying optimal control approaches to the generation of input commands. Classifying this field of research as optimal control command formulation, these approaches typically employ optimal control theory to generate shaped commands that minimize a specific cost index such as command energy or residual vibration. Perhaps the first application of optimal control to generate feedforward commands for flexible systems was proposed by Farrenkopf [35]. In his work, an analytic solution was derived for the input command that minimized structural excitation and residual vibration in an undamped second-order system. Turner [36, 37], using a numerical optimal-control solution technique, derived shaped commands that minimized a weighted sum of state deviation and control effort in undamped, nonlinear, multiple-mode systems. These shaped commands were constrained to produce system response with zero residual vibration. In later work, Eisler [38] used a similar numerical optimization approach to find the minimum-time motion of a two-link robot with actuator limits subject to constraints on the tracking error and residual vibration of the robot. Parker [39] applied a dynamic programming and parameter optimization approach to derive commands for point-to-point motion in cranes. In other work, Bhat [40-46] used a Linear Quadratic Regulator approach to derive a closed-form solution for the minimum energy point-to-point command for a flexible system. Last, relying on a full non-linear model, Meckl [47] proposed a numerical optimization technique for generating minimum-energy commands to effect point-to-point motion in flexible, nonlinear systems.
2.2.4 Creating Time-Optimal and Time-Efficient Commands
For automated systems that require rapid motion, feedforward commands should be designed to maximize the speed of response. Numerous methods have been proposed by designers to create these time-optimal and time-efficient commands. Two, in particular, are of interest: time-optimal control and input shaping. Time-optimal control refers to the field of research dedicated to finding the input command that will move a system as fast as possible from one point to another. Much research has been performed in this area in the past forty-five years, and the following section will attempt to present an overview of some of this work. The second area of research to be discussed in detail, input shaping, is a field based on a strategy for deriving time-efficient discontinuous command profiles that suppress residual vibration and are robust to system uncertainties. Much attention has been focused on this subject in the past ten years, and section 2.4 will give a detailed account of this research effort.
In addition to time-optimal control and input shaping, many other techniques exist for creating time-efficient commands. For example, some researchers [48-50] have set conventional digital filtering techniques to the task of command profile design. Work in this area has revealed that these filtering approaches can be effective for deriving relatively fast commands that avoid exciting unwanted system vibration. By constructing command profiles from a series of correctly timed pulses, other researchers [51-55] have illustrated that rapid motion can be produced in some flexible systems without residual vibration. These techniques and others have successfully demonstrated that many approaches can be adopted for creating time-efficient commands for flexible systems. The following two sections focus on two particular techniques that have demonstrated widespread use and acceptance: the first, time-optimal control, stands alone for its power and generality, and the second, input shaping, gains distinction for its simplicity and practicality.
2.3 Time-Optimal Control
The time-optimal control problem, as stated above, is concerned with finding the fastest possible ways to move systems from one state to another. Much of the research in this field can be divided into two schools. The first school, comprised of work performed primarily in the 1950""s and 1960""s, was concerned with developing the underlying mathematical theory for time-optimal control. Due in part to the complexity of these initial approaches and since energy-based control methods promised greener pastures, work in this area was largely abandoned. More recently, perhaps in the past fifteen years, a new school of work has formed. This new approach to time-optimal control has been driven by expanding research efforts in the control of flexible structures as well as new computer capabilities. The result of this new school of work has been the development of new techniques for solving for time-optimal command profiles for a small class of flexible systems. This section proposes to present an overview of the state of the art in time-optimal control and will address both underlying principles as well as recent advancements in this field. This discussion will begin by describing the origins of time-optimal control as found in Pontryagin""s Maximum Principle and the Bangxe2x80x94Bang Principle. Approaches for applying these theories to nonlinear systems will then be addressed followed by an overview of recent work in deriving time-optimal commands for linear systems.
2.3.1 Pontryagin""s Minimum Principle and the Bangxe2x80x94Bang Principle
For over forty years, researchers have been investigating strategies for finding time-optimal commands. Much of this research has resulted from Pontryagin""s original formulation and investigation of the time-optimal control problem [56]. In this original work, Pontryagin outlines a set of necessary conditions that the time-optimal control for a system must satisfy. Specifically, these conditions require that the time-optimal control which transitions a system from a fixed initial state to a desired final state must necessarily satisfy the following conditions: (1) it must satisfy the system state and costate equations, (2) it must remain within the given actuator limits and minimize the Hamiltonian, and (3) it must result in a Hamiltonian value of zero over the time-length of the command. The mathematical details of this principle are avoided here but outlined below in section 6.2.1 of this document. Also, a comprehensive treatment of this principle, including a detailed derivation, can be found in [57]. A less detailed overview of the fundamentals of the principle can be found in [58]. Due to its generality, Pontryagin""s Minimum Principle proved to be a theory of far-reaching impact. Not only did it allow researchers to make strong claims about the nature of time-optimal commands for linear and nonlinear systems, but its result can be applied with equal efficacy to SISO and MIMO systems alike.
Stemming from the powerful insights of the Minimum Principle, the Bangxe2x80x94Bang Principle further postulates about the nature of the shape of time-optimal commands. Phrased by Hermes [59] as follows, the Bangxe2x80x94Bang Principle states that xe2x80x9c . . . if it is desired to have the system change from one state to another in minimum time, then it is necessary at all times to utilize the power available; that is, to use bangxe2x80x94bang control.xe2x80x9d With this assertion, the time-optimal command for a given system, must have a value that always maximizes, in a positive or negative sense, at least one of the system actuators. For a system with a single input, the time-optimal command, such as the one shown in FIG. 5, must always saturate the system actuator. The resulting command profile for such a system will consist, therefore, of a series of positive and negative pulses with a finite number of times where the command value switches between the positive and negative limit. This observation greatly simplifies the time-optimal control problem by reducing the solution space of possible command profiles to simply the set of possible switch times.
2.3.2 Time-Optimal Control of Nonlinear Systems
Pontryagin""s Minimum Principle provides powerful tools for assessing the time-optimality of system commands. Unfortunately, applying these tools to the task of deriving commands for a given system is not immediately straightforward. For very simple systems, some analytic solutions for time-optimal commands exist [57], but in general, commands must be derived numerically. A number of techniques have been proposed for doing this, but all are numerically intensive and largely too unreliable to be applied to a wide class of systems. The general approach for deriving time-optimal commands typically relies on solving a two-point, boundary-value problem (TPBVP) with one endpoint that is free in time. An iterative approach can be employed to solve this problem, solving the state and costate equations during every iteration, in order to find the initial costate vector that meets the problem specifications and optimality conditions. Scrivener and Thompson [60], in their literature survey of work in this area, discuss a number of different techniques used to approach this problem. Additional iterative techniques for solving the TPBVP using linear programming or the shooting methods can be found in [61, 62]. A more recent approach called switch-time optimization (STO) is discussed in [63].
Although solution techniques are numerically complex and unreliable, many researchers have set these processes to the task of deriving time-optimal commands for nonlinear systems. Schiller [64-67], for example, derived commands for a nonlinear multi-link robot and incorporated additional constraints such as joint motion limits and obstacle avoidance. Liu and Singh [68] used Meier""s STO process to derive time-optimal commands for nonlinear systems with improved robustness to parameter uncertainties. Additional examples of time-optimal commands for nonlinear systems can be found in [69, 70].
2.3.3 Time-Optimal Control of Linear Systems
When concerned strictly with linear, time-invariant systems, the claims that can be drawn from Pontryagin""s Minimum Principle can be further strengthened. First, as long as the desired final state can be reached by an input command that remains within the actuator limits, the time-optimal control for a linear system will exist and be unique. Second, the three general conditions that the time-optimal control must satisfy are not only necessary, as was the case for nonlinear systems, but they are also sufficient. With these statements, it can be safely postulated that, if any command profile satisfies the three conditions outlined in Pontryagin""s Minimum Principle, it must necessarily be the unique time-optimal control solution for a given system.
Given these powerful assertions about the nature of time-optimal commands for linear systems, some generalizations can be made about the shape of time-optimal command profiles. As dictated by the Bangxe2x80x94Bang Principle, any time-optimal command for a linear system must saturate the system actuators from the initial time of the command until the time that the system reaches its desired final state. After this terminal time, the time-optimal command must then adopt the profile required to maintain the system at its desired final state. For systems that have poles and no zeros after the final switch, the time-optimal command must necessarily remain at a constant value. More specifically, if the system has any rigid-body poles, the final value of the command must be zero, and if there are no rigid-body poles, the final command value must be set to the level required to keep the system at its desired terminal state. The profile of a typical time-optimal command for a system with just poles and no zeros is shown in FIG. 6.
When a system has zeros as well as poles, the profile of the time-optimal command is somewhat different. Again, the Bangxe2x80x94Bang Principle requires that the command saturate the system actuators from the initial time to the time that the system reaches its desired final value. However, the profile of the command after this final time can now adopt a wider range of possible values. The only requirement for this portion of the command is that it maintains the system at its desired final state. Consequently, since the system has zeros as well as poles, any command profile that has the appropriate initial conditions and drives the system strictly at the frequencies of the system zeros will not influence the system output. As a result, any command profile that is a linear combination of the initial condition response at the frequencies of the system zeros will be a potential candidate for the terminal component, or tail, of the time-optimal command profile. An example of a typical time-optimal command profile for a system with poles and zeros is shown in FIG. 7. As illustrated, this command has two components: (1) a pulse train which delivers the system output to its desired final value, and (2) a tail which maintains the system output at its desired final value. Since the tail of the time-optimal command provides an additional degree of flexibility in the possible solution space of the optimal command profile, commands designed for both poles and zeros can often result in much shorter system response times than commands designed for poles alone.
Both the time-optimal command for a system with poles and the time-optimal command for a system with poles and zeros contain a pulse train with a finite number of switches. Although the exact number of switches in this pulse train is not always known, some general statements can be made to bound the possible number of switch times. By convention, the number of switches refers to the number of times the command profile transitions between the upper and lower actuator limits; the transitions at the initial time and the terminal time are ignored. First, for the case where the system under consideration has only real or rigid-body poles and no zeros, the number of switches in the time-optimal command profile is exactly equal to nxe2x88x921, where n is the number of system poles. If the system has complex poles as well as real and rigid-body poles and no zeros, the number of switches in the time-optimal command will be finite and have a lower bound of nxe2x88x921. In general, the exact number of switches in the time-optimal command for systems with complex poles will depend on the desired state change; the larger the state change, the more switches that will be required in the time-optimal command. For systems with zeros, the minimum number of switches required in the time-optimal command can be reduced by one for every zero in the system. For example, for a system with real poles, rigid-body poles and zeros, the minimum number of switches is (nxe2x88x921)-r, and the maximum number of switches is nxe2x88x921, where n is the total number of system poles and r is the total number of system zeros. For systems with complex poles as well, the lower bound on the number of switches is (nxe2x88x921)-r, and the upper bound is finite but dependent on the desired state change.
By applying these general principles about the nature of time-optimal commands for linear systems, several researchers have made some important insights about time-optimal command solutions for specific types of systems. In some early work, Barbieri [71] and Dodds [72] looked at linear systems with a single undamped flexible mode and made general statements about finding values for the command switch times without using complex numerical search routines. Pao [73] investigated systems with damped flexible modes and outlined basic properties as well as a set of algebraic equations that the time-optimal commands must satisfy. Investigating new strategies for deriving time-optimal commands for linear systems with multiple flexible modes, several researchers [74-80] have proposed techniques for deriving time-optimal commands by solving a set of algebraic constraint equations. These algebraic constraint equations were formulated by making some general insights about symmetry properties of the time-optimal commands and the mathematical interpretation of the problem boundary conditions.
Building on the initial developments about deriving time-optimal commands for systems with flexibility, several researchers also proposed techniques for extending this work to derive time-efficient commands with more desirable properties. In particular, several researchers [68, 81-84] proposed methods for including additional constraint equations into the time-optimal formulation in order to derive robust, time-optimal commands. The resulting command profiles still displayed a bangxe2x80x94bang shape, but included additional switches and a longer overall time to better tolerate systems with dynamic uncertainty. An example of a robust, time-optimal command profile is shown in FIG. 8. Following a similar approach, researchers [85-89] have also explored ways to incorporate fuel-usage constraints in order to create time-efficient command profiles with better fuel-usage characteristics. These fuel/time-optimal command profiles, like the one shown in FIG. 9, displayed a typical bangxe2x80x94bang nature but also contained idle periods between the actuator pulses. Lastly, researchers [90-93] have also explored techniques for adding smoothness constraints to typical time-optimal bangxe2x80x94bang profiles. The resulting near-time-optimal commands, while no longer retaining the bangxe2x80x94bang profile, excited less vibration in the structure upon implementation.
Although focused almost exclusively on systems with solely flexible modes, the techniques developed in the past fifteen years for deriving time-optimal command share some similarities that deserve note. First, largely due to the complexity of numerical and iterative approaches for solving this problem, much of the recent work in this area has focused on making statements about the general nature of optimal commands in order to reduce the size of the solution space. From these insights, researchers have developed algebraic equations that relate the properties of the time-optimal command to specific problem constraints such as zero residual vibration. Because of the simplicity of these resulting equations, some analytic solutions for very simple systems have been proposed. More importantly, it has been illustrated that these algebraic constraints can be solved effectively using an optimization process. Furthermore, since optimizations are not always guaranteed to yield a global optimal solution, some researchers [77, 94-96] have proposed a simple method for verifying the optimality of command profiles using the conditions from Pontryagin""s Minimum Principle. This new approach, which combines an optimization of algebraic constraint equations with a simple optimality verification scheme, has been illustrated, for the case of systems with flexible modes, to deliver solutions much faster and more reliably than conventional iterative solution methods.
2.4 Input Shaping
First proposed by Singer and Seering in 1989 [97, 101], input shaping is a technique for shaping system commands to suppress unwanted system vibration. Due to its simplicity and effectiveness, even in the face of substantial system uncertainty, this technique has seen widespread use and development in the past decade. Originally developed as a method for filtering input command profiles in real-time, researchers have extended this work in many directions. Most recently, due to similarities in the command structure between input shaping commands and time-optimal commands, researchers have applied the basic principles of input shaping to the task of creating time-optimal command profiles.
The purpose of this section is to present an overview of input shaping research performed in the past decade with particular attention toward advances made in addressing the time-optimal control problem. This section begins with a discussion of the basic theory of input shaping followed by a survey of the various extensions that have been made to this theory since its conception. Since the popularity of this technique is largely a measure of its effectiveness, an attempt will be made to mention many of the recent applications of input shaping that have been reported in the literature. Given this overview of the theory and use of input shaping, this section will then turn to the time-optimal control problem and outline the work that several researchers have done to apply input shaping techniques to solve this fundamental problem.
2.4.1 The Basic Theory of Input Shaping
In its basic form, input shaping is a strategy for shaping command inputs by convolving them with a sequence of impulses. The sequence of impulses, called the input shaper, is selected based on information about the system modes of vibration. For the case when a step command is shaped using an input shaper, the resulting command profile is a staircase, as shown in FIG. 10. This shaped command, if designed correctly, will deliver the system from its initial value to its desired final value without exciting unwanted system vibration. Since this approach relies on impulses, or sharp changes in the command profile, the resulting commands are very time-efficient and can typically deliver the system to its destination faster than many other methods.
Much of the value in the input shaping approach resides in its simplicity. Typically, input shapers are designed by solving a set of algebraic constraint equations. These algebraic equation are derived from the fact that the system must have zero residual vibration and can be solved analytically for some simple systems. The result of these analytic solutions are a set of special purpose impulse sequences that can be implemented readily in a variety of systems with flexibility. Much of Singer""s original work [97-101], in addition to thoroughly investigating the basic theory and its properties, focuses on these basic impulse sequences that are highly effective at eliminating unwanted vibration in systems with a single flexible mode. Additional work by Hyde [102-104], as well as Singer, looks at numerical approaches for deriving input shapers for systems with multiple modes. These approaches typically rely on an optimization routine to solve a set of nonlinear algebraic equations, and results have demonstrated input shapers can be derived quickly and reliably for systems with up to around six to ten modes of vibration.
The concept of using correctly timed staircase profiles to create commands that eliminate unwanted vibration, although fully explored by Singer, was originally presented by Smith [105, 106] about forty years ago. Known as posicast control, this technique presented guidelines for timing the transitions in a staircase command profile using knowledge about the system vibration modes. Since its original presentation, many researchers [107-111] have illustrated that these commands can produce time-efficient and vibration-free motion in flexible mechanical systems. A primary advantage of Singer""s input shaping over posicast control is the use of robustness constraints to yield commands that can still perform effectively in the face of system uncertainty. The robustness constraints rely on taking the derivative of an analytic expression for system residual vibration and yield command profiles with a longer time-length but better tolerance to system uncertainty. Because of this inherent robustness, input shaping has seen much success when applied to a wide class of flexible systems with varying degrees of uncertainty.
One way to gain insight into the principles and operation of input shaping is to consider its interpretation in several different domains. FIG. 11 offers a schematic of how input shaping can be interpreted in four different domains: (1) the time domain, (2) the frequency domain, (3) the Laplace domain, and (4) the discrete domain. For the purposes of this discussion, consider a step command shaped by an input shaper consisting of two impulses in the time-domain. The resulting shaped command, which is a two-step staircase, can then be applied to either an open- or closed-loop flexible system to produce output motion without residual vibration. In the frequency domain, the input shaper resembles a notch filter. If the magnitudes and the times of the impulses in the sequence are selected correctly, this notch will align with the resonant frequency of the system, and the resulting shaped command will excite little vibration at this mode. In the Laplace domain, the input shaper contains an infinite number of zeros placed at periodic intervals along the imaginary axis. If the shaper is designed correctly, the lowest frequency zeros of the shaper will rest at the identical location of the system complex poles. Since these shaper zeros cancel the system poles, the system response will display no vibration at the canceled mode. By selecting a sampling interval coincident with the impulse spacing in the input shaper, a discrete domain representation can also be formulated. As shown in FIG. 11, the input shaper is comprised of a pair of complex zeros and an equal number of poles at the z-plane origin. As in the Laplace domain, when designed correctly, these zeros exactly cancel the system poles, resulting in a system response with no problematic vibration.
Now, in the case where input shaping is designed with enhanced robustness, the same multi-domain interpretation can also be applied. In the time-domain, robust input shapers typically require more impulses in the shaper and produce a staircase command with more steps. This results, in the frequency domain, in a notch filter with a wider notch. In the Laplace and discrete domains, this enhanced robustness is manifested by the presence of additional zeros located at or near the frequencies of the system poles. Typically the number of zeros in the shaper and their proximity to the system poles can be used to tailor the level of robustness required in a given system.
2.4.2 Extensions to the Input Shaping Theory
Research in the past decade has led to many extensions of the basic input shaping theory in many different research areas. These areas of active research include: (1) developing new techniques for deriving shaped inputs, (2) proposing different strategies for tailoring the command robustness to system uncertainty, (3) implementing input shaping in an adaptive framework, (4) proposing new kinds of constraints on shaper performance such as system deflection and fuel usage, and (5) applying input shaping techniques to improve trajectory tracking. This section will attempt to give an account of much of the work that has been performed in these areas to date.
Perhaps the most active area of input shaping research in recent years has been in the realm of new derivation strategies for shaped commands and impulse sequences. Many researchers have explored a range of new derivation tools as well as proposed new types of sequences for reducing vibration in flexible systems. In particular, several researchers have proposed strategies for using zero-placement in the discrete domain [112-114] as well as the Laplace domain [115-117] for deriving input shapers for both single- and multiple-mode systems. Additionally, researchers such as Singhose and Rappole have investigated specific classes of shaped commands and proposed analytic expressions and design heuristics to aid in the derivation of certain types of impulse sequences [118-125]. By building on a representation proposed by Singer [99] called vector diagrams, Singhose described new strategies for deriving impulse sequences using graphical methods [126-129]. By modifying constraints to allow for negative impulses, Rappole and Singhose have also illustrated that shaped commands can be shortened for some systems and still effectively suppress unwanted vibration [130, 131]. Crain and Singhose have investigated properties of two-mode shapers and suggested guidelines for their construction [132, 133]. In recent work, Pao [134] presented new techniques for deriving input shapers for systems with multiple actuators, and Singhose [135] has applied neural nets to the task of creating input shapers.
Another active area of research in the field of input shaping has been formulating new methods for improving the robustness properties of shaped commands. In a technique proposed by Singer [136], a method was outlined for better controlling shaper robustness by explicitly specifying problem constraints at sampled frequencies in the frequency domain. In a related approach, Singhose [137, 138] proposed that command robustness could be better tailored to system uncertainty by designing input shapers that better place shaper zeros at and near problematic system frequencies. The resulting sequences, called multi-hump shapers, can then be incorporated into an optimization strategy to specify precisely the desired robustness of a given shaper [139, 140]. In more recent work, Pao [141] has suggested an approach for better tailoring input shaping robustness to known uncertainty in the damping and frequency of the flexible modes of a system.
Although input shaping was originally developed for linear, time-invariant systems, many researchers have investigated adaptive implementations of input shaping to better apply the technique to systems with time-varying and configuration-dependent dynamics. In particular, Khorrami [142] employed a nonlinear controller and a single-mode shaper to eliminate vibration on a two-link flexible arm. In this approach, a real-time FFT process was used to identify system modes and update both the controller and shaper parameters adaptively. In a similar approach, Magee and Book [143-146] employed an adaptive approach to implement a two-mode shaper on a two-link robot. Using analytic solutions combined with an interpolated lookup table, Rappole [118] proposed another method for implementing input shaping adaptively on a two-link flexible robot. Lastly, in work by Tzes [147-149], an adaptive input shaping scheme was presented that uses a non-collocated controller with acceleration feedback and a real-time frequency identification scheme. In this case and the others mentioned, input shaping was demonstrated to effectively produce the desired machine motion without residual vibration in the face of changing system modes.
By appending the basic input shaping equations with new types of constraints, recent research has revealed that a variety of shaped commands can be created with certain desirable properties. For example, for some systems it is desirable to regulate the amount of deflection experienced by a system during motion. By incorporating this condition into the input shaping formulation, Banerjee and Singhose derived new types of deflection-limited shaped commands [150-153]. Similarly, in some systems with limited fuel, command profiles with better fuel usage characteristics are required. By modifying the command structure to include idle periods, Singhose developed a new class of shaped commands with desirable fuel-efficient properties [154-156]. Lastly, by combining both fuel-efficient command characteristics with deflection limiting constraints, recent research has also revealed that commands can be created with both of these desirable properties [157, 158].
Although not specifically designed with the task of trajectory following in mind, the vibration suppression properties of input shapers have led many researchers into investigating the effectiveness of shaped commands for tracking applications. Work in this area has revealed that certain types of shaped commands can yield better trajectory following performance in flexible systems than unshaped commands [159-162].
2.4.3 Applications of Input Shaping
Due to its ease of implementation and robustness to system uncertainty, input shaping has been applied with much success to many types of open- and closed-loop systems. As an area of particular interest, many researchers have investigated the interaction of shaped commands with closed-loop control methodologies. Specifically, by applying input shaping to a controlled two-link flexible robot arm, Hillsley and Yurkovich [163, 164] noted that the use of input shaping with an endpoint-feedback controller provided superior performance over each technique alone. Similarly, Khorrami [165, 166] noted that, when combined with a nonlinear feedback controller, input shaping proved effective at enhancing the performance of another two-link flexible robot. Lim [167] also demonstrated success when integrating input shaping with high-performance control. Finally, although input shaping was designed to be a strictly feedforward technique, several researchers [168-172] have shown enhanced system performance when a shaper is included inside the feedback loop.
Out of the many possible applications for input shaping, two primary application areas that have benefited from input shaping techniques are flexible robots and flexible space structures. For example, in two early applications, Christian [173] and Yurkovich [174] demonstrated the effectiveness of the technique on multi-link flexible robots. Magee and Book [175, 176] also applied input shaping with success to reduce vibration in a Schilling manipulator. In the area of flexible space structures, Singh [177, 178] demonstrated ways to reduce vibration in 3-D slewing maneuvers of flexible spacecraft by applying input shaping. Additionally, Banerjee [179] successfully implemented input shaping on a model of a long spaced-based antenna, and Chang [180] collected experimental results from a satellite testbed in 1-g. In more recent experimental work, Tuttle [181] demonstrated the effectiveness of input shaping on space-based systems by collecting data from an experimental testbed flown aboard the Space Shuttle Endeavour in March of 1995.
In addition to flexible robots and space structures, input shaping has seen implementation on a variety of other system types. Some of the applications that have been reported in the literature are summarized here. In order to eliminate measurement-corrupting vibration in coordinate measuring machines, several researchers [182-187] have enlisted input shaping. Additionally, input shaping has also seen success when applied to cranes for eliminating swinging in the payload during operation [188, 189]. As a testament to the wide applicability of this technique, researchers have demonstrated success when using input shaping with such applications as force control [190, 191], spherical motors [192], and fluid-pouring systems [193]. Other examples of input shaping applications can be found in [194-197].
In addition to applying input shaping to a wide class of systems, several researchers have drawn comparisons among input shaping techniques and other feedforward control approaches. For example, some results presented by Bhat [41] compared input shaping, optimal-control techniques, and Fourier synthesis and concluded that all techniques were effective at reducing system vibration since they placed the shaped command zeros at the system poles. Kwon [198] and Rattan [159] also drew some comparisons between input shaping, digital filtering, and inverse dynamics, and Wie [199] looked at the performance of input shaping versus closed-loop techniques. In other work, Pao [200] and Singhose [201] made comparisons among different input shaping techniques, and Singer [98, 202], Singhose [203], and Bodson [204] compared input shaping to digital filtering. Research results revealed that, although input shaping is inherently a digital filtering technique, conventional digital filters, since they are not intended for mechanical systems, cannot equal the performance of input shapers.
2.4.4 Input Shaping and Time-Optimal Control
In Singer""s original formulation, input shaping was intended to be used for shaping arbitrary actuator commands with a sequence of impulses. Because the impulses in this sequence were constrained to be positive in amplitude, the resulting transfer function of the shaped command, in addition to having reduced energy at the system natural frequencies, was guaranteed never to exceed unity gain. Consequently, the resulting shaped commands had the desirable property of eliminating residual vibration in the modeled system modes while not exciting unwanted vibration in unmodeled system modes. By relaxing the constraint that impulse amplitudes be positive, Singer [99] illustrated that shorter commands could be derived that still cancelled vibration at the modeled system modes. Singhose [205, 206] further demonstrated that the same input shaping constraint equations could be used to derive bangxe2x80x94bang command profiles for flexible systems. By comparing these bangxe2x80x94bang commands to traditional time-optimal command profiles, it was revealed that they were indeed time-optimal [207, 208]. From this work, it became clear that the input shaping equations and solution approach, arguably more simple than conventional techniques, could now be used to derive time-optimal commands for linear systems with flexible modes.
In addition to providing a much more convenient procedure for finding time-optimal commands, the similarities between input shaping and time-optimal control suggested possible methods for enhancing the performance of time-optimal commands. In particular, by applying the same robustness strategies originally developed for input shaping to time-optimal commands, researchers [95, 209-211] illustrated that time-optimal command profiles with improved robustness could be derived easily. Work by Pao and Singhose [207] also revealed that the robust, time-optimal command for a certain system was equivalent to the time-optimal command for the same system augmented with additional poles at the system modes of vibration. Furthermore, by adapting input shaping insights to the time-optimal control problem, Singhose [212] developed new methods for creating time-optimal commands with better fuel-usage properties, and Pao [213] proposed a simpler analytic procedure for creating bangxe2x80x94bang commands that were near time-optimal.
2.5 The Next Step
As the profusion of research outlined herein indicates, considerable work has been done in the area of feedforward control, and, in particular, in the area of creating time-optimal and time-efficient commands. In the case of time-optimal control, many processes have been developed for deriving command profiles for a wide range of systems. Built on the strength of Pontryagin""s Minimum Principle, these approaches can be applied to many kinds of linear and nonlinear systems without loss of generality. Unfortunately, due the nature of the constraints in Pontryagin""s principle, iterative search routines can be numerically intensive and solutions can be elusive. Largely due to this inherent complexity, these types of solution approaches have seen limited application on complex systems. More recently, as a product of research in the area of flexible systems, new methods have been presented for creating time-optimal commands for systems with flexible modes. In these techniques, researchers developed new types of algebraic constraint equations that allowed for easier solution of the time-optimal control problem for some simple linear systems with flexibility. Following a similar strategy, but approaching the problem from a different field of research, input shaping has recently proven effective for creating time-optimal command profiles as well. Originally designed to suppress residual vibration in flexible systems, the input shaping theory relies on solving a set of constraint equations that describe the vibration characteristics of the system. Using these same equations, but with different requirements on the command amplitude, input shaping has yielded time-optimal solutions for linear systems with flexibility. This approach, since it relies on a set of simple algebraic equations, is both numerically and conceptually simple and has been demonstrated to effectively reduce vibration in many different types of systems. Furthermore, since the technique can be easily augmented with additional constraints, many researchers have successfully developed time-efficient commands with a range of enhanced qualities, such as improved robustness and fuel efficiency.
Research in the past half-century has made considerable progress investigating the creation of time-optimal and time-efficient commands. General but complex processes have been proposed to solve the time-optimal control problem, and many simple solution strategies have been developed for systems with flexibility. What is yet unavailable, however, is a simple approach that can be applied with generality to virtually all types of linear systems. Such an approach should combine the simplicity, practicality, and ease of implementation of input shaping with the generality and strength of Pontryagin""s Minimum Principle
The present invention addresses the foregoing needs by providing a new and practical approach for deriving time-optimal and time-efficient command profiles for virtually all types of linear systems. The invention is general enough to apply to a wide class of systems, yet simple enough to allow for quick and effective solutions. The general solution framework can be summarized in the following three steps.
Step 1: Select a candidate command profile. Time-optimal and time-efficient commands represent a special subclass of optimal command profiles designed to move systems rapidly from one point to another. As a result, they all have similarities in structure that can be leveraged to better find a solution. Specifically, as above, time-optimal and time-efficient commands are typically comprised of a staircase or pulse train with a finite number of discontinuities. In some cases, namely for systems that have zeros, this pulse train or staircase can be followed by a tail made up of a sum of exponential terms. Due to this unique construction, the profile of these commands can typically be described completely by a small number of parameters. The solution space of these parameters, then, outlines the entire family of solutions for the optimal command profile. As is illustrated below, navigating the solution space of possible command profiles using a small number of command parameters greatly reduces the computational complexity of this problem. As a result, solutions for time-optimal and time-efficient commands are easy to identify and implement.
Step 2: Impose the problem constraints. Given a parameterized analytic expression for a candidate command profile, the next step toward finding an optimal solution is imposing the problem constraints. Typically, the problem statement, such as the time-optimal and time-efficient control problem statements outlined above, specifies the exact nature of the constraints required for a specific problem. These constraints, however, are most commonly expressed as conditions on the system performance in response to an input command. For example, in the case of the time-optimal control problem, it is required that the system output transition by a specified amount and come to rest. In order to explore the solution space of possible command profiles that meet these conditions, these constraints on the performance of the system output must first be translated into constraints on the command profile itself. This expression of the problem constraints in terms of the parameters that describe the input command is very much at the heart of this approach. Below, it will be illustrated how a minimum set of constraint equations can be derived to bound the optimal solution space. As will be discussed, these equations are algebraic and of manageable complexity and, consequently, allow for rapid and reliable solution.
Step 3: Solve and verify. Given a family of candidate command profiles and a set of properly formulated constraints that structure the solution space, the only remaining problem is solving the constraints to find the optimal solution. For some very simple systems, the problem constraints can be solved analytically to yield an optimal command profile. In most cases, however, solution requires a numerical optimization. Since optimization processes can be vulnerable to suboptimal local minima, an effective solution strategy should also provide a means for verifying the optimality of the result. As set forth below, by using conditions prescribed by Pontryagin""s Minimum Principle, not only can solutions for time-optimal and time-efficient commands be derived quickly and reliably, by they can also be verified as optimal for certain classes of problems.
In more detail, according to one aspect, the present invention is directed to a system (i.e., a method, an apparatus, and computer-executable process steps) for determining an input command profile for a dynamic system that can be modeled as a linear system, where the input command profile is used to transition an output of the dynamic system from one state to another state. The invention identifies characteristics of the dynamic system, and selects a command profile which defines an input to the dynamic system based on the identified characteristics. The command profile comprises one or more pulses which rise and fall at switch times and is useable with substantially any dynamic system that can be modeled as a linear system. The invention then imposes a plurality of constraints on the dynamic system, at least one of which is defined in terms of switch times. Thereafter, the invention determines the switch times for the input to the dynamic system based on the command profile and the plurality of constraints
According to another aspect, the present invention is a system for determining an input command profile for a dynamic system that can be modeled as a linear system, where the input command profile is used to transition an output of the dynamic system from one state to another state. The invention includes selecting a command profile for the input to the dynamic system, where the command profile comprises a pulse train with pulses that rise and fall at switch times and is useable with substantially any dynamic system that can be modeled as a linear system. The selecting step comprises setting pulse train amplitudes based on actuator limits, determining if there are any system zeros and, if so, including a tail in the command, making an initial guess for the switch times, and, in a case that there are system zeros, making an initial guess for coefficients defining the tail. Thereafter, the invention imposes constraints on the system, which constraints comprise one or more of dynamics cancellation constraints, boundary condition constraints, and, in a case that there are system zeros, actuator limit constraints. The switch times are then solved for based on (1) the command profile selected in the selecting step, (2) the initial guess for the switch times, (3) in a case that there are zeros in the system, the initial guess for the coefficients defining the tail, and (4) the problem constraints imposed above. Finally, the invention determines whether the switch times define an input which makes the command profile time optimal.
This brief summary has been provided so that the nature of the invention may be understood quickly. A more complete understanding of the invention can be obtained by reference to the following detailed description of the preferred embodiment thereof in connection with the attached drawings.